package com.fadadianqi.mall.product.model;

import com.fadadianqi.commons.BaseObject;

import java.util.Date;

/**
 * SKU=stock keeping unit(库存量单位)
 * 最小库存单位
 * SPU+商品关键性属性集
 * <p/>
 * 例如：衣服=货号+尺码+颜色 才能代表同一款服装的最小库存单位
 *
 * @author aroot
 */
public class ItemSKU extends BaseObject {

    /**
     *
     */
    private static final long serialVersionUID = 3215744248557679584L;

    private String name;

    private String spuId;

    /**
     * 属性值集合的唯一标识
     * 衣服=XXL+黑色
     *
     * @see {@link ItemSKAttrVals#skuAttrValsCodec}
     */
    private String attrValsId;

    /**
     * 暂时采用JSON格式存储信息
     */
    private String details;


    private Date withdrawTime; // 商品下架时间

    private Boolean isWithdraw; // 是否已经下架

    private Date addTime; // 创建时间
    private Date updateTime; // 最近更新时间

    private Double retailPrice; // 零售价格

    private Double ourPrice; // 站内价格

    private Double purchasePrice; // 采购价格

    private Double cost; // 成本价格

    private String memberId; // 供应商ID

    public Date getAddTime() {
        return addTime;
    }

    public void setAddTime(Date addTime) {
        this.addTime = addTime;
    }

    public String getMemberId() {
        return memberId;
    }

    public void setMemberId(String memberId) {
        this.memberId = memberId;
    }

    public Boolean getIsWithdraw() {
        return isWithdraw;
    }

    public void setIsWithdraw(Boolean isWithdraw) {
        this.isWithdraw = isWithdraw;
    }

    public Double getPurchasePrice() {
        return purchasePrice;
    }

    public void setPurchasePrice(Double purchasePrice) {
        this.purchasePrice = purchasePrice;
    }

    public Double getCost() {
        return cost;
    }

    public void setCost(Double cost) {
        this.cost = cost;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSpuId() {
        return spuId;
    }

    public void setSpuId(String spuId) {
        this.spuId = spuId;
    }

    public String getAttrValsId() {
        return attrValsId;
    }

    public void setAttrValsId(String attrValsId) {
        this.attrValsId = attrValsId;
    }

    public Date getWithdrawTime() {
        return withdrawTime;
    }

    public void setWithdrawTime(Date withdrawTime) {
        this.withdrawTime = withdrawTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Double getRetailPrice() {
        return retailPrice;
    }

    public void setRetailPrice(Double retailPrice) {
        this.retailPrice = retailPrice;
    }

    public Double getOurPrice() {
        return ourPrice;
    }

    public void setOurPrice(Double ourPrice) {
        this.ourPrice = ourPrice;
    }

    public String getDetails() {
        return details;
    }

    public void setDetails(String details) {
        this.details = details;
    }
}